package pub.developers.forum.infrastructure.dal.dao;

import org.apache.ibatis.annotations.Param;
import pub.developers.forum.api.response.article.ArticleInfoResponse;
import pub.developers.forum.domain.entity.User;
import pub.developers.forum.infrastructure.dal.dataobject.ArticleTypeDO;
import java.util.List;


public interface ArticleTypeDAO {

    void insert(ArticleTypeDO articleTypeDO);

    List<ArticleTypeDO> query(ArticleTypeDO articleTypeDO);

    List<ArticleTypeDO> queryInScopesAndState(@Param("scopes") List<String> scopes, @Param("auditState") String auditState);

    void update(ArticleTypeDO articleTypeDO);

    ArticleTypeDO get(@Param("id") Long id);

    void increaseRefCount(@Param("id") Long id);

    void decreaseRefCount(@Param("id") Long id);


    //管理员根据帖子ids 删除帖子
    void deleteArticle(@Param("ids") int[] ids);

    //根据帖子ids 删除帖子相关的评论
    void deleteArticleComment(@Param("ids") int[] ids);

}
